CSS/HTML

推荐列表 站点导航

当前位置:首页 > 脚本编程 > CSS/HTML >

html5 canvas实现简单的双缓冲

来源:网络整理  作者:  发布时间:2020-12-19 22:03
在HTML5画布上有很多有趣的东西,请求动画框架和用JavaScript制作动画,今天的这篇文章给大家分享的内容是关于html...
在HTML5画布上有很多有趣的东西,请求动画框架和用JavaScript制作动画,今天的这篇文章给大家分享的内容是关于html5 canvas实现简单的双缓冲,有需要的朋友可以看一看文章中的方法。

对于更高级的内容,您可能希望使用画布,这通常是GPU加速的,并且允许使用window.request.tionFrame进行相当高和稳定的帧速率。(推荐课程:HTML5视频教程

如果您需要在画布上进行双重缓冲,那么一种流行的方法是创建第二个画布元素并绘制到那个画布元素,然后使用drawImage将完成的图像绘制到主画布,结果如下:

var primaryCtx = document.getElementById("canvas").getContext("2d"); var secondaryCanvas = document.createElement("canvas"), secondaryCtx = secondaryCanvas.getContext("2d"); (function drawFrame() { requestAnimationFrame(drawFrame); secondaryCtx.fillStyle = "#f00"; secondaryCtx.fillRect(10,10,20,20); primaryCtx.drawImage(secondaryCanvas); })();

输入CTX.SAVER()和CTX.Rebug()

今天,我发现有一种方法更清洁,效果和上面的方法一样好:

(function drawFrame() { requestAnimationFrame(drawFrame); primaryCtx.save(); //Freeze redraw primaryCtx.fillStyle = "#f00"; primaryCtx.fillRect(10,10,20,20); primaryCtx.restore(); //And now do the redraw })();

尽管名称很奇怪,但是它只是冻结了上下文的呈现,然后在完成绘图之后恢复呈现。

本篇文章到这里就全部结束了,更多精彩内容大家可以关注php中文网相关视频教程栏目!!!

以上就是html5 canvas实现简单的双缓冲的详细内容,更多请关注php中文网其它相关文章!

相关热词: HTML HTML5

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jiaob/cssm/5836.shtml

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

html5 canvas实现简单的双缓冲

2020-12-19 编辑:

在HTML5画布上有很多有趣的东西,请求动画框架和用JavaScript制作动画,今天的这篇文章给大家分享的内容是关于html5 canvas实现简单的双缓冲,有需要的朋友可以看一看文章中的方法。

对于更高级的内容,您可能希望使用画布,这通常是GPU加速的,并且允许使用window.request.tionFrame进行相当高和稳定的帧速率。(推荐课程:HTML5视频教程

如果您需要在画布上进行双重缓冲,那么一种流行的方法是创建第二个画布元素并绘制到那个画布元素,然后使用drawImage将完成的图像绘制到主画布,结果如下:

var primaryCtx = document.getElementById("canvas").getContext("2d"); var secondaryCanvas = document.createElement("canvas"), secondaryCtx = secondaryCanvas.getContext("2d"); (function drawFrame() { requestAnimationFrame(drawFrame); secondaryCtx.fillStyle = "#f00"; secondaryCtx.fillRect(10,10,20,20); primaryCtx.drawImage(secondaryCanvas); })();

输入CTX.SAVER()和CTX.Rebug()

今天,我发现有一种方法更清洁,效果和上面的方法一样好:

(function drawFrame() { requestAnimationFrame(drawFrame); primaryCtx.save(); //Freeze redraw primaryCtx.fillStyle = "#f00"; primaryCtx.fillRect(10,10,20,20); primaryCtx.restore(); //And now do the redraw })();

尽管名称很奇怪,但是它只是冻结了上下文的呈现,然后在完成绘图之后恢复呈现。

本篇文章到这里就全部结束了,更多精彩内容大家可以关注php中文网相关视频教程栏目!!!

以上就是html5 canvas实现简单的双缓冲的详细内容,更多请关注php中文网其它相关文章!

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jiaob/cssm/5836.shtml

相关文章

风云图片

推荐阅读

返回CSS/HTML频道首页